package com.accp.demo.mapper.finance;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.accp.demo.pojo.finance.Prepay;
import com.accp.demo.pojo.finance.PrepayDetail;
import com.accp.demo.pojo.sale.SaleOutStorage;

/**
 * 预付款
 * @author Administrator
 *
 */
public interface IPrepayMapper {
	/**
	 * 新增主表
	 * @param map
	 */
	public void addPrepay(@Param("map") Map<String, Object> map);
	/**
	 * 新增详表
	 * @param map
	 */
	public void addPrepayDetail(@Param("map") Map<String, Object> map);
	/**
	 * 删除预付单明细的记录
	 * @param map
	 */
	public void delPrepayDetail(@Param("map") Map<String, Object> map);
	/**
	 * 修改预付单的逻辑状态
	 * @param map
	 */
	public void updLogicalState(@Param("map") Map<String, Object> map);
	/**
	 * 修改预付单记录
	 * @param map
	 */
	public void updPrepay(@Param("map") Map<String, Object> map);
	/**
	 * 修改预付单审核后的字段
	 * @param map
	 */
	public void updPrepayExamineAfter(@Param("map") Map<String, Object> map);
	/**
	 * 查询记录数
	 * @return
	 */
	public Integer queryCount();
	/**
	 * 查询最后的单据号码
	 * @param map
	 * @return
	 */
	public String getLastNo(@Param("map") Map<String, Object> map);
	/**
	 * 根据单据号码获取对象
	 * @param map
	 * @return
	 */
	public Prepay queryBy(@Param("map") Map<String, Object> map);
	/**
	 * 分页查询
	 * @param fundBillNo
	 */
	public List<Prepay> findByPage(@Param("currentPage") int currPage,@Param("pageSize") int pageSize);
	/**
	 * 查询主详
	 * @return
	 */
	public List<Prepay> findAll();
}
